import request from '@/config/axios'

// 跨境电商平台Webhook事件日志 VO
export interface PlatformWebhookLogVO {
  id: number // 日志编号
  webhookId: number // Webhook配置编号
  platformId: number // 平台编号
  storeId: number // 店铺编号
  eventId: string // 事件ID
  eventType: string // 事件类型
  requestHeaders: string // 请求头
  requestBody: string // 请求体
  responseStatus: number // 响应状态码
  responseBody: string // 响应体
  processStatus: number // 处理状态（0待处理 1处理中 2处理成功 3处理失败）
  processTime: Date // 处理时间
  processDuration: number // 处理时长（毫秒）
  errorMsg: string // 错误信息
  retryCount: number // 重试次数
  businessType: string // 业务类型
  businessId: number // 业务数据ID
  sourceIp: string // 来源IP
  userAgent: string // 用户代理
}

// 跨境电商平台Webhook事件日志 API
export const PlatformWebhookLogApi = {
  // 查询跨境电商平台Webhook事件日志分页
  getPlatformWebhookLogPage: async (params: any) => {
    return await request.get({ url: `/crossborder/platform-webhook-log/page`, params })
  },

  // 查询跨境电商平台Webhook事件日志详情
  getPlatformWebhookLog: async (id: number) => {
    return await request.get({ url: `/crossborder/platform-webhook-log/get?id=` + id })
  },

  // 新增跨境电商平台Webhook事件日志
  createPlatformWebhookLog: async (data: PlatformWebhookLogVO) => {
    return await request.post({ url: `/crossborder/platform-webhook-log/create`, data })
  },

  // 修改跨境电商平台Webhook事件日志
  updatePlatformWebhookLog: async (data: PlatformWebhookLogVO) => {
    return await request.put({ url: `/crossborder/platform-webhook-log/update`, data })
  },

  // 删除跨境电商平台Webhook事件日志
  deletePlatformWebhookLog: async (id: number) => {
    return await request.delete({ url: `/crossborder/platform-webhook-log/delete?id=` + id })
  },

  // 批量删除跨境电商平台Webhook事件日志
  deletePlatformWebhookLogList: async (ids: number[]) => {
    return await request.delete({ url: `/crossborder/platform-webhook-log/delete-batch`, data: ids })
  },

  // 导出跨境电商平台Webhook事件日志 Excel
  exportPlatformWebhookLog: async (params) => {
    return await request.download({ url: `/crossborder/platform-webhook-log/export-excel`, params })
  },
}
